/** 
 * Copyright (C), 2010-2012, TIETIAO Software Co.,Ltd. ALL RIGHTS RESERVED. 
 * File name:CommentService.java
 * Version:1.0
 * Date:2011-12-6
 * Description: 用户评论接口
 * author:zhijian.zhang
 */
package com.tietiao.service.comment;

import java.util.List;

import com.tietiao.common.util.PageModel;
import com.tietiao.dao.model.SysUser;
import com.tietiao.dao.model.UserComment;

public interface CommentService {

	/**
	 * 
	 * 功能：添加用户评论
	 * 
	 * @author: zhijian.zhang
	 * @Date: 2011-12-9
	 * 
	 * @param comment
	 *            评论内容
	 * @param loginUser
	 *            评价人信息
	 * @param commodityId
	 *            用户商品ID
	 * @param replyId
	 *            回复人ID（无者默认为-1）
	 * @return 评价ID
	 */
	public int addUserComment(String comment, SysUser loginUser, int commodityId,
			Integer replyId);

	/**
	 * 
	 * 功能：删除用户评论 （只能删除自己的评论）
	 * 
	 * @author: zhijian.zhang
	 * @Date: 2011-12-9
	 * 
	 * @param userCommentId
	 *            用户评论ID
	 * @return
	 */
	public int deleteUserCommentByKey(int userCommentId);

	/**
	 * 
	 * 功能：根据商品ID获取评论分页信息(默认按时间降序排序)
	 * 
	 * @author: zhijian.zhang
	 * @Date: 2011-12-10
	 * 
	 * @param commodityId
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public PageModel<UserComment> getUserCommentPages(int commodityId,
			int pageNo, int pageSize);

	/**
	 * 
	 * 功能：获取用户评论列表分页信息（后台管理）
	 * 
	 * @author: zhijian.zhang
	 * @Date: 2012-1-3
	 * 
	 * @param userComment
	 * @param start
	 * @param limit
	 * @param sort
	 * @param dir
	 * @return
	 */
	public PageModel<UserComment> getUserComments(UserComment userComment,
			int start, int limit, String sort, String dir);
	
	/**
	 * 
	 * 功能：删除评论信息（后台管理）
	 * @author: zhijian.zhang
	 * @Date: 2012-1-3
	 *
	 * @param commentIds
	 * @return
	 */
	public int delUserComments(Integer[] commentIds);

	/**
	 * 功能：根据商品编号查询评论信息
	 * @author: TT_LOVE
	 * @Date: 2012-1-6
	 *
	 * @param commodityId
	 * @param orderByClause 
	 * @param parentCommentId 
	 * @return
	 */
	public List<UserComment> getCommentInfoByCommodityId(int commodityId, String orderByClause, int parentCommentId);

	/**
	 * 功能：添加回复信息
	 * @author: TT_LOVE
	 * @Date: 2012-1-17
	 *
	 * @param loginUser
	 * @param commodityId
	 * @param commentId
	 * @param contentInfo
	 */
	public int addContentInfo(SysUser loginUser, int commodityId,
			String commentId, String contentInfo);

}
